/**
 * 选择排序算法实现(升序)
 * 算法复杂苏O(n)^2
 * 算法步骤：
 * 1. 第一次循环从数组中假设下标为0的为最小的数。
 * 2. 第一个数依次和其余的数依次比较，如果找到比已知最小的数小的，则替换最小数的下标。
 * 3. 第一轮循环结束后，替换元素，排好第一个数。
 * 4. 重复1，2，3
 */
#include <stdio.h>

void main(){
    int Arr[10],i,j,k,t;
    printf("Please enter 10 Num:\n");
    // 输入10个数
    for(i=0;i<10;i++)
        scanf("%d",&Arr[i]);
    // 循环开始
    for(i=0;i<9;i++){
        k=i;
        for(j=i+1;j<10;j++)
            if(Arr[k]>Arr[j])
                k=j;
        if(k!=i){
            t=Arr[i];
            Arr[i]=Arr[k];
            Arr[k]=t;
        }
    }
    for(i=0;i<10;i++)
        printf("%d\t",Arr[i]);
}